![]() Method of suppressing vibrations of a robot arm with external objects
专利摘要:
A method and a robot controller for controlling a robot arm, where the robot arm comprises a plurality of robot joints connecting a robot base and a robot tool flange, where each of the robot joints comprises an output flange movable in relation to a robot joint body and a joint motor configured to move the output flange in relation to the robot joint body. The robot arm is controlled based on vibrational properties of at least one external object connected to the robot arm, where the vibrational properties are received via an external object installation interface by generating control signals for said robot arm based on a target motion and the received vibrational properties of the at least one external object, the control signal comprises control parameters for said joint motor. 公开号:DK201901559A1 申请号:DKP201901559 申请日:2019-12-29 公开日:2021-08-05 发明作者:Søe-Knudsen Rune;Kielsholm Thomsen Dan 申请人:Universal Robots As; IPC主号:
专利说明:
[0001] [0001] The present invention relates to methods and robot controllers for controlling a robot arm comprising a plurality of robot joints connecting a robot base and a robot tool flange, where external objects have be provided to the robot arm.BACKGROUND OF THE INVENTION [0002] [0002] Robot arms comprising a plurality of robot joints and links where motors or actuators can move parts of the robot arm in relation to each other are known in the field of robotics. Typically, the robot arm comprises a robot base which serves as a mounting base for the robot arm; and a robot tool flange where to various tools can be attached. A robot controller is configured to control the robot joints in order to move the robot tool flange in relation to the base. For instance, in order to instruct the robot arm to carry out a number of working instructions. The robot joints may be rotational robot joints configured to rotate parts of the robot arm in relation to each other, prismatic joints configured to translate parts of the robot arm in relation to each other and/or any other kind of robot joints configured to move parts of the robot arm in relation to each other. [0003] [0003] Typically, the robot controller is configured to control the robot joints based on a dynamic model of the robot arm, where the dynamic model defines a relationship between the forces acting on the robot arm and the resulting accelerations of the robot arm. Often, the dynamic model comprises a kinematic model of the robot arm, knowledge about inertia of the robot arm and other parameters influencing the movements of the robot arm. The kinematic model defines a relationship between the different parts of the robot arm and may comprise information of the robot arm such as, length, size of the joints and links and can for instance be described by Denavit-Hartenberg parameters or like. The dynamic model makes it possible for the controller to determine which torques and/or forces the joint motors or actuators shall provide in order 1 [0004] [0004] Robot arms need to be programmed by a user or a robot integrator which defines various instructions for the robot arm, such as predefined moving patterns and working instructions such as gripping, waiting, releasing, screwing instructions. The instruction can be based on various sensors or input signals which typically provide a triggering signal used to stop or start at a given instruction. The triggering signals can be provided by various indicators, such as safety curtains, vision systems, position indicators, etc. [0005] [0005] Typically, it is possible to attach various end effectors to the robot tool flange or other parts of the robot arm, such as grippers, vacuum grippers, magnetic grippers, screwing machines, welding equipment, dispensing systems, visual systems etc. [0006] [0006] A collaborative robot is a robot designed for direct interaction with a human. Light-weight design is one of the main concerns, when a robot is designed to be collaborative. This is to reduce the impact in a potential collision with a human or an obstacle. Thus, the design will be a compromise between low mass and high rigidity. Light-weight design is a major goal in current development of robots, cranes, and automotive industry, just to name a few. A light-weight design is motivated by for example increased performance, increased safety, reduced environmental footprint, reduced energy consumption, and reduced price. A light-weight design will feature an increased amount of mechanical flexibility, compared to the traditional heavy and rigid industrial robots, which are often based on a cast iron design. [0007] [0007] Robots with mechanical flexibility pose a challenge in terms of performance. For example, when rapid point-to-point motions are desired, and mechanical vibrations are not acceptable. Therefore, it is desired to suppress mechanical vibrations in robot arms. This can for instance be achieved by utilizing input shaping methods, which slightly modify the target motion of the robotarm, by intelligently adding a time-delay. The modified(shaped) trajectory will reduce the amount of vibrations at the critical natural frequencies of the system. [0008] [0008] WO19012040A1 and corresponding scientific articles {ii.} iii.) discloses a method for generating inputs to a physical system with varying dynamic properties, which can be used to suppress the mechanical vibrations of a robot arm. The control signals to the robot arm are generated based on the dynamic properties of the physical system which for instance can be obtained based on dynamic modeling of the physical system, lookup tables containing dynamic properties of the physical system, measurements of parts of the physical system, or a combination of the aforementioned. In order to provide an efficient vibration suppression of the robot arm accurate dynamic properties of the robot arm at various poses must be available for the possible poses of the robot arm, where a pose of the robot arm characterizes the position and orientation of the different parts of the robot arm, for instance in form of the positions of the robot joints such as joint angles of the robot joints. This can be achieved by arranging the robot arm in the possible poses and obtain the dynamic properties of the robot arm in a given pose, for instance by performing measurements of the robot arm’s damping and eigenfrequencies at the current pose. This is a very complicated process which requires measurement of eigenfrequencies and damping of robot arm at huge number of different configurations of the robot arm, as a typical robot arm cam be arrange in nearly infinite amount of pose due to the fine resolution of the robot joints; this is very time consuming. Additionally, the huge number of measured data makes it difficult to evaluate the dynamic properties in real-time. [0009] [0009] Additionally, the robot arms are often used in connection with various external objects connected to the robot arm as end effectors attached to the robot tool flange, wires, hoses, safety equipment attached to the robot arm etc. When providing such external objects, the vibrational properties of the robot arm are influenced by the external objects. Consequently, the effect of controlling the robot arm using input shaping as described in WO19012040A1, the scientific articles {ii.} {iii.} may be limited as the vibrational properties used for input shaping typically is obtained at a calibration process during the manufacturing of the robot arm. Additionally, the robot arm may be arranged on structures that influences the vibrational properties of the robot arm whereby the similar effects occurs. 3 [0010] [0010] The object of the present invention is to address the above described limitations with the prior art or other problems of the prior art. This is achieved by the robot controller and method according to the independent claims where ..................... The dependent claims describe possible embodiments of the robot arm and methods according to the present invention. The advantages and benefits of the present invention are described in further detail the in detailed description of the invention. [0011] [0011] The present invention is described in view of exemplary embodiments only intended to illustrate the principles of the present invention. The skilled person will be able to provide several embodiments within the scope of the claims. Throughout the description, the reference numbers of similar elements providing similar effects have the same last two digits. Further it is to be understood that in the case that an embodiment comprises a plurality of the same features then only some of the features may be labeled by a reference number. [0012] [0012] Fig. 1 illustrates a robot arm 101 comprising a plurality of robot joints 102a, 102b, 102c, 102d, 102e, 102f connecting a robot base 103 and a robot tool flange 104. A base joint 102a is configured to rotate the robot arm around a base axis 105a (illustrated by a dashed dotted line) as illustrated by rotation arrow 106a; a shoulder joint 102b is configured to rotate the robot arm around a shoulder axis 105b (illustrated as a cross indicating the axis) as illustrated by rotation arrow 106b; an elbow joint 102c is configured to rotate the robot arm around an elbow axis 105c (illustrated as a cross indicating the axis) as illustrated by rotation arrow 106c; a first wrist joint 102d is configured to rotate the robot arm around a first wrist axis 105d (illustrated as a cross indicating the axis) as illustrated by rotation arrow 106d and a second wrist joint 5 [0013] [0013] A robot tool flange reference point 107 also known as a TCP (Tool Center Point) is indicated at the robot tool flange and defines the origin of a tool flange coordinate system defining three coordinate axes Xfiange, Yflange, Zflange. IN the illustrated embodiment the origin of the robot tool flange coordinate system has been arrange on the tool flange axis 105f with one axis (Zriange) parallel with the tool flange axis and with the other axes Xrlange, Yrange parallel with the outer surface of the robot tool flange 104. Further a base reference point 108 is coincident with the origin of a robot base coordinate system defining three coordinate axes Xbase, Ybase, Zbase. In the illustrated embodiment the origin of the robot base coordinate system has been arrange on the base axis 105a with one axis (Zbase) parallel with the base axis 105a axis and with the other axes Xbase, Ybase parallel with at the bottom surface of the robot base. The direction of gravity 109 in relation the robot arm is also indicated by an arrow and it is to be understood that the at robot arm can be arrange at any position and orientation in relation to gravity. [0014] [0014] The robot arm comprises at least one robot controller 110 configured to control the robot arm 101 and can be provided as a computer comprising in interface device 111 enabling a user to control and program the robot arm. The controller can be provided as an external device as illustrated in fig. 1 or as a device integrated into the robot arm or as a combination thereof. The interface device can for instance be provided as a teach pendent as known from the field of industrial robots which can communicate with the controller via wired or wireless communication protocols. The interface device can for 6 [0015] [0015] The robot tool flange 104 comprises a force-torque sensor 114 integrated into the robot tool flange 104 The force-torque sensor 114 provides a tool flange force signal indicating a force-torque provided at the robot tool flange. In the illustrated embodiment the force-torque sensor is integrated into the robot tool flange and is configured to indicate the forces and torques applied to the robot tool flange in relation to the tool robot tool flange reference point [0016] [0016] An acceleration sensor 115 is arranged at the robot tool joint 102f and is configured to sense the acceleration of the robot tool joint 102f and/or 7 [0017] [0017] Each of the robot joints comprises a robot joint body and an output flange rotatable or translatable in relation to the robot joint body and the output flange is connected to a neighbor robot joint either directly or via an arm section as known in the art. The robot joint comprises a joint motor configured to rotate or translate the output flange in relation to the robot joint body, for instance via a gearing or directly connected to the motor shaft. The robot joint body can for instance be formed as a joint housing and the joint motor can be arranged inside the joint housing and the output flange can extend out of the joint housing. Additionally, the robot joint comprises at least one joint sensor providing a sensor signal indicative of at least one of the following parameters: an angular and/or linear position of the output flange, an angular and/or linear position of the motor shaft of the joint motor, a motor current of the joint motor or an external force and/or torque trying to rotate the output flange or motor shaft. For instance, the angular position of the output flange can be indicated by an output encoder such as optical encoders, magnetic encoders which can indicate the angular position of the output flange in relation to the robot joint. Similarly, the angular position of the joint motor shaft can be provided by an input encoder such as optical encoders, magnetic encoders which can indicate the angular position of the motor shaft in relation to the robot joint. It is noted that both 8 [0018] [0018] An end effector 126 (illustrated in dotted lines) is attached to the robot tool flange and is illustrated in form of a gripper, however it is to be understood the end effector can be any kind of end effector such as grippers, vacuum grippers, magnetic grippers, screwing machines, welding equipment, gluing equipment, dispensing systems, painting equipment, visual systems, cameras etc. The end effector 126 constitute an external object connected to the robot arm, however an external object connected to the robot arm can be any objects or objects connected to the robot arm such as wires, hoses, safety equipment, markers, lights etc. which is connected to the robot arm. The robot base 103 is also connected to an external object which is illustrated in form of a robot stand 127 (illustrated in dashed lines), whereon the robot arm is mounted. 9 [0019] [0019] External objects connected to the robot arm have some vibrational properties that influences the robot arm and the external objects may vibrate due to movement of the robot arm. For instance, the working point of end effectors may vibrate during movement of the robot arm in an undesired way. [0020] [0020] Fig 2 illustrates a simplified structural diagram of the robot arm illustrated in fig. 1. The robot joints 102a, 102b and 102f have been illustrated in structural form and the robot joints 102c, 102d, 102e and the robot links connecting the robot joints have been omitted for the sake of simplicity of the drawing. Further the robot joints are illustrated as separate elements however itis to be understood that they are interconnected either directly or via a robot link as illustrated in fig. 1. The robot joints comprise an output flange 2163, 216b, 216f and a joint motor 217a, 217b, 217f or another kind of actuator, where the output flange 216a, 216b, 216f is rotatable in relation to the robot 10 [0021] [0021] Robot tool joint 102f comprises the force-torque sensor 114 providing a tool flange force-torque signal 224 indicating a force-torque FTriange provided to the tool flange. For instance, the force signal-torque FTriange Can be indicated as a force vector FIM ang a torque vector TJlenge in the robot tool flange coordinate system: [Elan eq. 1 Fliser = [12 Ff sensor 11 [0022] [0022] In an embodiment where the force sensor is provided as a combined force-torque sensor the force-torque sensor can additionally also provide a torque signal indicating the torque provide to the tool flange, for instance as a separate signal (not illustrated) or as a part of the force signal. The torque can be indicated as a torque vector in the robot tool flange coordinate system: 0 eq. 2 Thiset = [i TJ censor where T/2"9". is the indicated torque around the Xrange axis, T) inser is the indicated torque around the yrange axis and T/ ons is the indicated torque around the zrange axis. It is noted that the force vector and torque vector can be provided as separate signals and that a separate force sensor and/or torque sensor can be provided. [0023] [0023] Robot tool joint 102f may comprise the acceleration sensor 115 providing an acceleration signal 225 indicating the acceleration of the robot tool flange where the acceleration may be indicated in relation to the tool flange coordinate system 0 fuge eq. 3 Vid = [vz Wi sensor where pnd js the sensed acceleration along the Xnange axis, 7%. is the sensed acceleration along the yrange axis and y/ ends, is the sensed acceleration along the zaange axis. Also or alternatively, the acceleration sensor can be configured to measure the acceleration of the robot tool flange in relation to gravity and the acceleration measured acceleration in relation to gravity can be converted into accelerations in relation to the robot tool flange of robot base. [0024] [0024] In an embodiment where the acceleration sensor is provided as a combined accelerometer/gyrometer (e.g. an IMU) the acceleration sensor can additionally or alternatively provide an angular acceleration signal indicating the angular acceleration of the output flange in relation to the robot tool flange coordinate system, for instance as a separate signal (not illustrated) or as a part of the acceleration signal. The angular acceleration signal can indicate an angular acceleration vector flange in the robot tool flange coordinate system da, eq. 4 Wenser = [+c af sensor where a/2”9 is the angular acceleration around the Xnange axis, a/(%. is the angular acceleration around the yrange axis and af%"9% is the angular acceleration around the zaange axis. Also or alternatively, the acceleration sensor can be configured to measure the angular acceleration of the robot tool flange in relation to gravity and the angular acceleration measured in relation to gravity can be converted into angular accelerations in relation to the robot tool flange of robot base. [0025] [0025] The force sensor and acceleration sensor of the illustrated are arranged at the robot tool joint 102f; however, it is to be understood that the force sensor and acceleration sensor can be arrange at any part of the robot arm, as one or more external object connected to the robot arm. It is noted that the force sensor and acceleration sensor are optional and that they can be can be omitted. [0026] [0026] An end effector 127 in form of a gripper (illustrated in dotted lines) is connected to the robot tool flange 104. The end effector may be connected to the robot controller and the robot controller may be configured to control the end effector via an end effector control signal 228. Further the end effector may provide an effector feedback signal 229 to the robot controller for instance in order to indicate the status of the end effector, signals from various signals etc. 13 [0027] [0027] The robot controller 110 comprises a processer 221, memory 222, a motion planer module 230, a motor controller module 231 and an external object installation interface 232. The motion planer module 230, the motor controller module 231 and the external object installation interface 232 can for instance be provided as processes executed by the processor 221, however it is noted that they also can be executed one separate processor units. [0028] [0028] The motion planner module 230 is configured to provide target motions of the robot arm, for instance by generating trajectories of parts of the robot arm. The trajectories can for instance be generated based on a robot program instructing the robot arm to perform various tasks or user inputs provided via an interface device 111. In the illustrated embodiment the motion planner module provides a target motion Ma of parts of the robot arm. The target motion may indicate a path along which a part of the robot arm shall move, the speed of a part of the robot arm, the acceleration of a part of the robot arms, a waypoint to which a part of the robot arm shall move. The target motion can for instance be indicated in cartesian space in reference to the robot base coordinate system, the tool flange coordinate system or any other reference coordinate systems. Also, the target motion can be indicated in joint space where the motions properties of the robot joints are indicates; e.g. as angular position q4 of output axles of the joint transmissions, a desired angular velocity qq Of output axles of the joint transmissions, a desired angular acceleration gq of the robot transmission. [0029] [0029] The target motion Ma is provided to the motor controller module [0030] [0030] In addition, the motor controller module is configured to generate the control signal for the robot arm based on vibrational properties (wi, G) of at least one external object connected to the robot arm, where the vibrational properties are received by the external object installation interface 232. This makes is possible for the user to ensure that the robot controller controls the robotarm in a way that minimizes the vibrations of and/or caused by external objects connected to the robot arm. The external object installation interface makes if possible, for a user to provide the vibrational properties as these typically are not known by the robot arm manufacture and the robot controller will then automatically take these vibrational properties into account when controlling the robot arm. The external object installation interface can be configured to receive the vibrational properties of the at least one external object via a vibrational properties user signal 233 received via an user interface device 111, a vibrational properties data signal 234 received form an external 15 [0031] [0031] In one embodiment the vibrational properties of the at least one external object is revived from a vibrational properties user signal 233 received via an user interface device 111. This makes it possible for a user to provide the vibrational properties of external objects connected to the robot arm directly to the robot arm, for instance in connection with an installation module where the user provided various properties of external objects connected to the robot arm. [0032] [0032] In one embodiment the vibrational properties of the at least one external object is received from fa vibrational properties data signal 234 received from an external data source 235. This makes it possible to connect the robot controller to receive the vibrational properties form any data source which can be connected to the robot arm. For instance, providers of external objects which can be connected to the robot arm can provide the vibrational properties of the external object as data which automatically can be installed on the robot controller without the user having detailed knowledge of the vibrational properties. This is advantageously in that simplifies the user’s tasks of providing vibrational properties of external objects and makes it thus easier for the user to reduce vibrations of the robot arm caused by connection external objects to the robot arm. Additionally, the external data source may update the vibrational properties of the external object in real time. [0033] [0033] In one embodiment the vibrational properties of the at least one external object is received from a vibrational properties effector signal 236 received from the external object. This makes it possible to automatically receive the vibrational properties directly form the external object once an effector feedback signal is established. External objects like end effector may have comprise their own processor and memory and the end effector can be configured to send the vibrational properties to the robot controller the two are interconnected. Providers of external objects can hereby provide the vibrational properties of the external object on the external object itself hereby it can be ensured that vibrational properties of the external object follow the external object. This is advantageously in that simplifies the user's tasks of providing 16 [0034] [0034] The vibrational properties of the external object can be received in form of at least one number indicating the vibrational properties of the at least one external object. The at least one number indicating the vibrational properties of the at least one external object can be any kind of number such as integers, rational number, real numbers and or complex numbers. Also, the vibrational properties can be received in form of at least one external object vibration formula, where the external object vibration formula defines at relationship between the vibrational properties of the at least one external object and at least one robot parameter. This makes it possible to obtain the vibrational properties of the external object based on robot parameters such as position, orientation, speed, acceleration of parts of the robot arm, as such parameters may influence the vibrational properties of the external object. The external object vibration formula may for instance be defined in form of a mathematical formula, program codes, look tables or combinations thereof. Also, it is to be understood the robot parameters of which different formulas is defined can be the same, different of partially the same. Also, the numbers indicating the vibrational properties of the external object and/or a result of another formula can be used as input into one formula. [0035] [0035] Figs. 3a-3d illustrates embodiments of a user interface 111 comprising a display 112 and various input devices 113 and the robot controller is connected to the use interface device as described in fig. 1. The user interface comprises an external object installation module enabling a user to manually provide the vibrational properties of the at least one external object. [0036] [0036] In Fig. 3a the external object installation interface 232 is configured to show on the display 112 of the user interface device 111 an external object installation screen module 337a in form of an external object installation user interface comprising at least one number user field where a 17 [0037] [0037] In Fig. 3b the external object installation interface 232 is configured to show on the display 112 of the user interface device 111 an external object installation screen module 337b in form of an external object installation user interface comprising at least one formula user field where a user can enter the vibrational properties of the external objecting form of a formula and/or program code. In the illustrated embodiment a user can enter the eigenfrequency wi of the external object in formula user field 339w as a function wi(p1, p2) of robot parameters pi, p2 and the damping ratio G of the external object in formula user field 339C as function Gæ(pi, p2) of robot parameters pi, p2. [0038] [0038] In one embodiment wherein the external object installation module can comprise a first external object installation user interface, where a user can provide vibrational properties of a first external object connected to the robot arm and a second external object installation user interface, where a user can provide vibrational properties of a second external object connected to the robot arm. In fact, the external object installation module may comprise a plurality of external object installation user interfaces enabling a user to provide the vibrational properties of a plurality of external objects connected to the robot arm. This makes it possible for the user to provide the vibrational properties of the external objects independently of each other and thus makes it possible to reduce the vibrations caused the adding a plurality of external objects to the robot arm. [0039] [0039] In fig. 3c the external object installation interface 232 is configured to show on the display 112 of the user interface device 111 an external object installation screen module 337c in form of an external object installation user interface comprising at least one user field where a user can enter the 18 [0040] [0040] In one embodiment the motor controller module 231 is configured to generate motor control signals to the joint motors by providing at least one object impulse train based on the received vibrational properties of the at least one external object. The object impulse train comprises a number of impulses and generate the control signal by convolving the target motion and the at least one object impulse train, for instance as described in {i.}{ii.} {iii.}. This makes it possible to reduce vibrations introduced by external objects utilizing impulse shaping techniques where the user has provided the vibrational properties of the external object. It is to be understood that generation of the object impulse 19 [0041] [0041] In an embodiment with a plurality of external objects the motor controller module can be configured to providing an impulse train based on the vibrational properties of each of the plurality of external objects. Consequently, a plurality of impulse trains is provided and the motor controller module can be configured to convolute the control signals for the joint motors with each of the impulse trains. It noted that the order of convolution does not matter, and that the plurality of impulse trains can be convolved with each other before convolving them with the control signal. [0042] [0042] In one embodiment the motor controller module 231 is configured to generate motor control signals to the joint motors by obtaining the vibrational properties of the robot arm, for instance based on prior knowledge of the robot arm and/or based on user inputs. The motor controller module is the configured to provide a robot arm impulse train based on the vibrational properties of the robot arm and generate the control signal by convolving the target motion and the robot arm impulse train. This makes it possible to reduce vibrations caused by the robot arm. Consequently, the control signal can be convoluted by both the object impulse train and the robot arm impulse train, whereby both vibrations caused by the robot arm and the external object can be reduced. [0043] [0043] Fig. 4 illustrates a flow diagram of a method of controlling a robot arm like the robot arm illustrated and described in figs. 1-3. The method comprises a step 450 of receiving the vibrational properties of an external object connected to the robot arm via an external object installation interface, a step 20 [0044] [0044] Step 450 of receiving the vibrational properties (wi, G) of the at least one external object connected to the robot arm can be performed by one or more of the following steps: e A step (not shown) of receiving a vibrational properties user signal from a user interface device, the vibrational properties user signal indicates the vibrational properties of at least one external object connected to the robot arm. e A Step (not shown) of receiving a vibrational properties data signal received form an external data source; the vibrational properties data signal indicates the vibrational properties of at least one external object connected to the robot arm; and/or e A step (not shown) of receiving a vibrational properties effector signal (236) received from the external object, the vibrational properties effector signal indicates the vibrational properties of at least one external object connected to the robot arm. [0045] [0045] Step 460 of generating a target motion for the robot arm by generating trajectories of parts of the robot arm. The trajectories can for instance be generated based on a robot program instructing the robot arm to perform various tasks or user inputs provided via an interface device. In the illustrated embodiment step 460 provides a target motion Ma of parts of the robot arm based on a desired waypoint WP: to which a part of the robot arm shall move and also based on knowledge of the robot arm KoR, such as the dynamic model and or the kinematic model of the robot arm. The target motion may indicate a path along which a part of the robot arm shall move, the speed of a part of the robot arm, the acceleration of a part of the robot arms, a waypoint to which a part of the robot arm shall move. The target motion can for instance be indicated in cartesian space in reference to the robot base 21 [0046] [0046] Step 470 of generating a control signal for the robot arm is performed based on the target motion Mp and the received vibrational properties, wi, G and the control signal comprises control parameters for the joint motor. In the illustrated embodiment the control parameters are the motor torques that the joint motors shall provide Tmotor, a, Tmotor, b, Tmotor, ¢, Tmotor, d, Tmotor, e, Tmotor, f. [0047] [0047] In one embodiment step 470 of generating control signal comprises a step 471 of providing at least one object impulse train based on the provided vibrational properties of the at least one external object and a step 472 of generating the control signals based on the object impulse train and the target motion. The object impulse train comprises a number of impulses and can for instance be obtained as for instance as described in {i.}{ii.} {iii.}. The object impulse train can for instance be indicated by the magnitudes, 4,, and the delays, 4,, of the impulses. For input shaping in general, the impulse train consist of n impulses, n being a positive integer. An impulse train consisting of n impulses is presented as in: eq. 5 Ao = (Ao1 Aoz … Aon} eq. 6 Ag = (Ao1 Doz … Aon) [0048] [0048] The step 470 of generating control signals for the robot arm comprises a step 472 of convolving the target motion Ma and the object impulse train 4,,A, resulting in a convolved target motion Mi, thereafter in step 473 the control signals for the robot arm are generated based on the convolved target motion. 22 [0049] [0049] Fig. 5 illustrates a flow diagram of a method of controlling a robot arm. The method is like the method illustrated in fig. 4 and similar steps have been given the same reference numbers as in fig. 4 and will not be described further. In this embodiment the method comprises a step (not shown) of obtaining the obtaining the vibrational properties wra, {ra of the robot arm. The vibrational properties of the robot arm can for instance indicate the eigenfrequencies or damped frequencies and damping ratios of the robot arm and can for instance be obtained based on dynamic modeling of the robot arm, lookup tables containing dynamic properties of the physical system, measurements of parts of the physical system, or a combination of the aforementioned. [0050] [0050] Further step 470 of generating control signal for the robot arm comprises a step 574 of providing a robot arm impulse train based on the vibrational properties of the robot arm, the robot arm impulse train comprises a number of impulses. can for instance be obtained as for instance as described in {i.}{ii.} {iii.}. The robot arm impulse train can for instance be indicated by the magnitudes, 4,,, and the delays, A,,, of the impulses: eq. 7 Åra = (Aras Ara2 + Aran} eq. 8 Arg = {Bray Braz + Bran} [0051] [0051] In the illustrated embodiment step 470 of generating control signals for the robot arm comprises a step 575 of convolving the convolved target motion Mj robot arm impulse train 4,,,4,, resulting in a doublet convolved target motion M}*, thereafter in step 473 the control signals for the robot arm are generated based on the double convolved target motion M;. [0052] [0052] Fig. 6 illustrates a flow diagram of a method of controlling a robot arm. The method is like the method illustrated in fig. 4 and similar steps have been given the same reference numbers as in fig. 4 and will not be described further. [0053] [0053] In this embodiment step 450 of receiving the vibrational properties of an external object connected to the robot arm comprises a step 651 of receiving the vibrational properties wi, €1 of a first external object connected to the robot arm and a step 652 of receiving the vibrational properties wz, (zc of a first external object connected to the robot arm. [0054] [0054] The impulse train generated in step 471 is in this embodiment labeled 41,40, indicating that step 471 generates a first object impulse train based on the vibrational properties of the first external object wi, {1 received in step 651. Step 472 of convolving the target motion is performed by convolving the target motion Ma with the first object impulse train Åo1, Ag; . [0055] [0055] Further step 470 of generating control signal for the robot arm comprises a step 476 of providing a second object impulse train 42,92 based on the vibrational properties of the second object received in step 652. [0056] [0056] In the illustrated embodiment step 470 of generating control signals for the robot arm comprises a step 477 of convolving the convolved target motion M; with the second object impulse train Ay, Ay, resulting in a doublet convolved target motion Mj", thereafter in step 473 the control signals for the robot arm are generated based on the double convolved target motion Mj. Consequently, vibrations caused by the dt the first external object and te second external object can be reduced. It is noted that the order of the convolutions does not matter, and that the second object impulse train can be convolved with the target motion Ma and where after the first object impulse train can be convolved with result of this convolution. Also is it noted that the vibrational properties of additional external objects can be provided and the impulse trains for such additional eternal objects can be convolved with the target motion or any convolved state of the target motion. Consequently, the vibrational introduced by an unlimited number of external objects can be reduced by impulse shaping based on each of the external objects’ vibrational 24 [0057] [0057] Step 780 is a step of instructing a part of said robot arm to move to a first target position WP1. This can for instance be achieved by providing a program code instructing the robot arm to move the robot tool flange to a target position in the surroundings of the robot arm. The program code can for instance be provide via a user interface as illustrated in fig. 8a as a so-called move command where the program code instructs the robot arm to move the tool flange to a target position. In fig. 8a the "Move to WP1” (illustrated in bold) have been selected and user can now in the corresponding program code module enter the joint angles qi, gz, gs, q4, gs, ge of the robot joint at the target position in joint angle user fields 895. It is to be understood the joint angle user fields only serves as an example of how the target position can be defined as the target position of a part of a robot rem can be defined based on many different 25 [0058] [0058] Step 760 is at step of generating a first target motion Mai for the robot arm, where the first target motion defines a motion of the robot arm causing the part of the robot arm to move to the first target position. Step 760 is like step 460 previous described and can for instance be performed by a motion planner module 230. [0059] [0059] Step 770 is a step of generating first control signal(s) for the robot arm based on the first target motion and vibrational properties of at least one external object connected to said robot arm, where the control signal comprises control parameters for the joint motors. Step 770 is like step 470 described previously and generates the control signals based on input shaping based on the vibrational properties of at least one eternal object connected to the robot arm. For instance, the external object can be a gripper. [0060] [0060] Step 781 is a step of changing 781 the vibrational properties of the of at least one external object connected to the robot arm. This can for instance be achieved by adding or removing an external object connected to the robot arm, as this cause the vibrational properties of external object to change. In fig. 8b the program code “close gripper” 893a have been selected and the program code module 891 shows a slider 896 where a user can set the status of the gripper to either open or closed. In fig. 8b the status is set to close causing the gripper of the robot arm to close when program code “close gripper” is executed by the robot controller. Closing the gripper will usually change the vibrational properties of the griper (the external object) as the mechanic of the gripper is change, however in a typical use scenario the gripper is closed in order to pick up an object which corresponds to adding an additional external object. slider 896 where a user can set the status of the gripper to either open or closed. The "Set object properties” program code selected in fig. 8c makes it possible for a user to provide the vibrational and other properties of the object which is pick up by the gripper. In fig. 8c the program code module show user field 897 where user can provide the eigenfrequency wo of the external object and a user field 898 where user can provide the damping ratio {o of the external object. [0061] [0061] Once the vibrational properties of the external object(s) have been changing in step 781 the steps of instructing a part of said robot arm to move to a target position is repeated with the difference the target position is change to a second target position WP: as illustrated in brackets. [0062] [0062] This can for instance be achieved by providing a program code instructing the robot arm to move the robot tool flange to a target position in the surroundings of the robot arm. In fig. 8d the "Move to WP2” (illustrated in bold) have been selected and user can now in the corresponding program code module enter the joint angles qi, 2, gs, q4, gs, qe Of the robot joint at the target position in joint angle user fields 895. [0063] [0063] Step 760 is repeated and generates second target motion M42 as illustrated in brackets for the robot arm, where the second target motion defines a motion of the robot arm causing the part of the robot arm to move to the second target position. [0064] [0064] Step 770 is and generates control signal(s) for the robot arm based on the second target motion and the in step 781 change vibrational properties of at least one external object connected to said robot arm. In other words, the vibrational properties of the object which is gripped by the grippe is considered when generating the control signals for the robot arm, resulting in the fact the the vibrations of the robot arm can be reduced in situations where the vibrational properties of the robot arm changes during execution of a robot program. [0065] [0065] It is noted that the medoid illustrated in figs. 7 and 8 can be combined with the methods illustrated in figs. 4-7. 27
权利要求:
Claims (21) [1] 1. A robot controller for controlling a robot arm, where said robot arm comprises a plurality of robot joints connecting a robot base and a robot tool flange, where each of said robot joints comprises: e an output flange movable in relation to a robot joint body; e a joint motor configured to move said output flange in relation to said robot joint body; said robot controller comprises an external object installation interface configured to receive vibrational properties of at least one external object connected to said robot arm; wherein said robot controller is configured to: e generating a control signal for said robot arm based on a target motion and said received vibrational properties of said at least one external object, said control signal comprises control parameters for said joint motor. [2] 2. The robot controller according to claim 1 wherein said external object installation interface is configured to receive said vibrational properties of at least one external object connected to said robot arm from at least one of: e a vibrational properties user signal received from a user interface device; e a vibrational properties data signal received form an external data source; and e a vibrational properties effector signal received from said external object. [3] 3. The robot controller according to any one of claims 1-2, wherein said external said vibrational properties is received in form of at least one number indicating the vibrational properties of said at least one external object. [4] 4. The robot controller according to any one of claims 1-3, wherein said external said vibrational properties is received in form of at least one external object vibration formula, where said external object vibration formula defines at 28 DK 2019 01559 A1 relationship between said vibrational properties of said at least one external object and at least one robot parameter. [5] 5. The robot controller according to any one of claims 1-4, wherein said vibrational properties of said at least one external object are provided as the eigenfrequencies and damping ration of said at least one external object. [6] 6. The robot controller according to any one of claims 1-5 wherein said robot controller is connected to a user interface device comprising an external object installation module enabling a user to manually provide said vibrational properties of said at least one external object. [7] 7. The robot controller according to any one of claim 6 wherein said external object installation module comprises: e a first external object installation user interface, where a user can provide vibrational properties of a first external object connected to said robot arm; e a second external object installation user interface, where a user can provide vibrational properties of a second external object connected to said robot arm. [8] 8. The robot controller according to any one of claims 6-7 wherein said external object installation module comprises: e an addition interface enabling a user to add an additional external object installation interface, where a user can provide vibrational properties of an additional external object connected to said robot arm. [9] 9. The robot controller according to any one of claims 1-8 wherein in said robot controller is configured to: 29 DK 2019 01559 A1 e provide at least one object impulse train based on said recived vibrational properties of said at least one external object, said object impulse train comprises a number of impulses; e generate said control signal by convolving said target motion and said at least one object impulse train. [10] 10. The robot controller according to anyone of claims 1-9 wherein said robot controller if configured to: e obtaining the vibrational properties of said robot arm; e provide a robot arm impulse train based on said vibrational properties of said robot arm, said robot arm impulse train comprises a number of impulses; e generate said control signal by convolving said target motion and said robot arm impulse train. and said robot controller is configured to store said provided vibrational properties in a memory. [11] 11. A method of controlling a robot arm, where said robot arm comprises a plurality of robot joints connecting a robot base and a robot tool flange, where each of said robot joints comprises: e an output flange movable in relation to a robot joint body; e a joint motor configured to move said output flange in relation to said robot joint body; said method comprise step steps of e receiving the vibrational properties of an external object connected to said robot arm via an external object installation interface; e generating a target motion for said robot arm; e generating a control signal for said robot arm based on said target motion, and said received vibrational properties, said control signal comprises control parameters for said joint motor. 30 DK 2019 01559 A1 [12] 12. The method according to claim 11 wherein said step of receiving said vibrational properties of at least one external object connected to said robot arm comprises at least one of the following steps: e receiving a vibrational properties user signal from a user interface device, said vibrational properties user signal indicates said vibrational properties of at least one external object connected to said robot arm; e receiving a vibrational properties data signal received form an external data source; said vibrational properties data signal indicates said vibrational properties of at least one external object connected to said robot arm; and e receiving a vibrational properties effector signal received from said external object, said vibrational properties effector signal indicates said vibrational properties of at least one external object connected to said robot arm. [13] 13. The method according to claim any one of claims 11-12, wherein said vibrational properties of said external object is received in form of at least one number indicating the vibrational properties of said at least one external object. [14] 14. The method according to any one of claim 11-13, wherein said vibrational properties of said external object is received in form at least one external object vibration formula, where said external object vibration formula defines at relationship between said vibrational properties of said at least one external object and at least one robot parameter. [15] 15. The method according to any one of claims 11-14, wherein said vibrational properties of said at least one external object indicates the eigenfrequencies and damping ration of said at least one external object. [16] 16. The method according to any one of claims 11-15 comprising that steps of: 31 DK 2019 01559 A1 e receiving the vibrational properties of a first external object connected to said robot arm via a first external object installation interface of a user interface device; e receiving the vibrational properties of a second external object connected to said robot arm via a second external object installation interface of a user interface device; [17] 17. The method according to any one of claims 11-16 comprising the step of: e adding an additional external object installation interface using an addition interface of a user interface device; e providing vibrational properties of an additional external object connected to said robot arm using said addition interface. [18] 18. The method according to any one of claim 11-17 comprising the step of: e providing at least one object impulse train based on said provided vibrational properties of said at least one external object, said object impulse train comprises a number of impulses; e generating said control signal by convolving said target motion and said at least one object impulse train. [19] 19. The method according to anyone of claims 11-18 comprising the steps of: e obtaining the vibrational properties of said robot arm; e provide a robot arm impulse train based on said vibrational properties of said robot arm, said robot arm impulse train comprises a number of impulses; e generate said control signal by convolving said target motion and said robot arm impulse train. [20] 20. A method of controlling a robot arm, where said robot arm comprises a plurality of robot joints connecting a robot base and a robot tool flange, where each of said robot joints comprises: 32 DK 2019 01559 A1 e an output flange movable in relation to a robot joint body; e a joint motor configured to move said output flange in relation to said robot joint body; said method comprise the steps of: e instructing a part of said robot arm to move to a first target position; e generating a first target motion for said robot arm, said first target motion defines a motion of said robot arm causing said part of said robot arm to move to said first target position; e generating a first control signal for said robot arm based on said first target motion and vibrational properties of at least one external object connected to said robot arm, where said control signal comprises control parameters for said joint motors; e changing the vibrational properties of said of at least one external object connected to said robot arm; e instructing a part of said robot arm to move to a second target position; e generating a second target motion for said robot arm, said second target motion defines a motion of said robot arm causing said part of said robot arm to move to said second target position; e generating a control signal for said robot arm based on said second target motion and the changed vibrational properties of said at least one external object connected to said robot arm, where said control signal comprises control parameters for said joint motors. [21] 21. A robot controller for controlling a robot arm, where said robot arm comprises a plurality of robot joints connecting a robot base and a robot tool flange, where each of said robot joints comprises: e an output flange movable in relation to a robot joint body; e a joint motor configured to move said output flange in relation to said robot joint body; wherein said robot controller is configured to control said robot arm by executing the steps of the method according to claim 20. 33
类似技术:
公开号 | 公开日 | 专利标题 US9785138B2|2017-10-10|Robot and robot controller JP6167770B2|2017-07-26|Multi-axis robot trajectory generation method and multi-axis robot controller JP2006334774A|2006-12-14|Method for controlling track of effector Staicu2009|Recursive modelling in dynamics of Delta parallel robot JP2014193520A|2014-10-09|Multi-axis robot trajectory forming method and multi-axis robot control device Lew et al.2001|A simple active damping control for compliant base manipulators Patidar et al.2016|Survey of robotic arm and parameters Bamdad2013|Time-energy optimal trajectory planning of cable-suspended manipulators Obinna et al.2017|„LabVIEW Motion Planning and Tracking of an Industrial Robotic Manipulator |: Design, Modelling, and Simulating the Robot’s Controller Unit,” FMTÜ-XXII DK180627B1|2021-11-04|Method of suppressing vibrations of a robot arm with external objects Li et al.2014|Dynamics analysis of a novel over-constrained three-DOF parallel manipulator Chen et al.2018|A hybrid control strategy for dual-arm object manipulation using fused force/position errors and iterative learning Mousavi Mohammadi et al.2017|A real-time impedance-based singularity and joint-limits avoidance approach for manual guidance of industrial robots US20210260757A1|2021-08-26|Dual mode free-drive of robot arm Filipovic et al.2016|Cable-suspended CPR-D type parallel robot WO2021228347A1|2021-11-18|Input shaping control of a robot arm in different reference spaces Filipovic et al.2012|Contribution to the modeling of cable-suspended parallel robot hanged on the four points JP6123595B2|2017-05-10|Speed control method for 2-axis robot Ni et al.2017|Design of an upper-body humanoid robot platform Vila-Rosado et al.2005|A Matlab toolbox for robotic manipulators Li et al.2009|LSPB Trajectory Planning: Design for the Modular Robot Arm Applications Patil et al.2015|A Review Paper on Introduction of Parallel Manipulator and Control System Pradhan2019|Design and Development of a Multi-Control Gesture-Recognition based Robotic Arm Staicu et al.2008|Dynamic modelling of a 4-DOF parallel kinematic machine with revolute actuators Gül2019|Trajectory control of a delta robot for telescopic mast systems assembly
同族专利:
公开号 | 公开日 DK180627B1|2021-11-04| WO2021136566A1|2021-07-08|
引用文献:
公开号 | 申请日 | 公开日 | 申请人 | 专利标题 DE3611336C2|1986-04-04|1988-02-11|Deutsche Forschungs- Und Versuchsanstalt Fuer Luft- Und Raumfahrt Ev, 5300 Bonn, De| EP1132790B1|2000-02-10|2003-06-18|Fanuc Ltd|Controller for machine| DE102006053158A1|2006-11-10|2008-05-15|Kuka Roboter Gmbh|Robot controller, robot and method for controlling a robot| WO2014110682A1|2013-01-18|2014-07-24|Robotiq Inc.|Force/torque sensor, apparatus and method for robot teaching and operation| US9513179B2|2014-01-20|2016-12-06|Good Vibrations Engineering Ltd.|Force moment sensor| KR20200031081A|2017-07-13|2020-03-23|유니버셜 로보츠 에이/에스|Vibration control of configuration-dependent dynamic systems|
法律状态:
2021-08-05| PAT| Application published|Effective date: 20210630 | 2021-11-04| PME| Patent granted|Effective date: 20211104 |
优先权:
[返回顶部]
申请号 | 申请日 | 专利标题 DKPA201901559A|DK180627B1|2019-12-29|2019-12-29|Method of suppressing vibrations of a robot arm with external objects|DKPA201901559A| DK180627B1|2019-12-29|2019-12-29|Method of suppressing vibrations of a robot arm with external objects| PCT/DK2020/050385| WO2021136566A1|2019-12-29|2020-12-18|Method of suppressing vibrations of a robot arm with external objects| 相关专利
Sulfonates, polymers, resist compositions and patterning process
Washing machine
Washing machine
Device for fixture finishing and tension adjusting of membrane
Structure for Equipping Band in a Plane Cathode Ray Tube
Process for preparation of 7 alpha-carboxyl 9, 11-epoxy steroids and intermediates useful therein an
国家/地区
|